#pragma once

#include <cinatra.hpp>
#include <iostream>
#include "base_controller.hpp"

using namespace std;
using namespace cinatra;



namespace bz
{
	class xd_client;
	class test_controller :public base_controller
	{
	public:
		test_controller();

		async_simple::coro::Lazy<void> test_create_cospace(coro_http_request& req, coro_http_response& res);
		async_simple::coro::Lazy<void> clear_all_calls(coro_http_request& req, coro_http_response& res);
		async_simple::coro::Lazy<void> db_test1(coro_http_request& req, coro_http_response& res);
		async_simple::coro::Lazy<void> db_test2(coro_http_request& req, coro_http_response& res);
		async_simple::coro::Lazy<void> on_publish(coro_http_request& req, coro_http_response& res);
		async_simple::coro::Lazy<void> xd_test(coro_http_request& req, coro_http_response& res);
		async_simple::coro::Lazy<void> xd_create_temp(coro_http_request& req, coro_http_response& res);
		async_simple::coro::Lazy<void> xd_device_list(coro_http_request& req, coro_http_response& res);
		async_simple::coro::Lazy<void> xd_clear_tmp(coro_http_request& req, coro_http_response& res);




	private:
		xd_client* xd_client_;
	};


}